import numpy as np

"""
矩阵分解是一类常用的机器学习和推荐系统中的算法，其中包括奇异值分解（SVD）和主成分分析（PCA）等

使用 np.linalg.svd() 函数执行了奇异值分解。输入参数为一个矩阵 matrix，返回参数为三个矩阵：U、s、VT，

分别表示左奇异向量矩阵、奇异值向量矩阵和右奇异向量矩阵
"""
if __name__ == '__main__':
    # 创建一个示例矩阵
    matrix = np.array([[1, 2, 3],
                       [4, 5, 6],
                       [7, 8, 9]])

    # 使用Numpy进行奇异值分解
    U, s, VT = np.linalg.svd(matrix)

    print("左奇异向量矩阵-U:")
    print(U)
    print("奇异值向量矩阵-s:")
    print(s)
    print("右奇异向量矩阵-VT:")
    print(VT)
